一步一步教你用RAID :軟RAID篇
作者:tank 日期:2006-05-06
一步一步教你用RAID :軟RAID篇
-
除了使用RAID卡或者主板所帶的芯片實現磁碟陣列外,我們在一些操作系統中可以直接利用軟體方式實現RAID功能,例如Windows 2000/2003/XP中就內置了RAID功能。
在瞭解Windows 2000/2003/XP的軟體RAID功能之前,我們首先來看看Windows 2000/2003中的一項功能——動態磁碟管理。
動態磁碟與基本磁碟相比,不再採用以前的分區方式,而是叫卷集,它的作用其實和分區相一致,但是具有以下區別:
1.可以任意更改磁碟容量
動態磁碟在不重新啟動電腦的情況下可更改磁碟容量大小,而且不會丟失資料,而基本磁碟如果要改變分區容量就會丟失全部資料(當然也有一些特殊的磁碟工具軟體可以改變分區而不會破壞資料,如PQMagic等)。
2.磁碟空間的限制
動態磁碟可被擴展到磁碟中不連續的磁碟空間,還可以創建跨磁碟的卷集,將幾個磁碟合為一個大卷集。而基本磁碟的分區必須是同一磁碟上的連續空間,分區的最大容量當然也就是磁碟的容量。
3.卷集或分區個數
動態磁碟在一個磁碟上可創建的卷集個數沒有限制,相對的基本磁碟在一個磁碟上最多只能分4個區,而且使用DOS或Windows 9X時只能分一個主分區和擴展分區。
*這裡一定要注意,動態磁碟只能在Windows NT/2000/2003/XP系統中使用,其他的操作系統無法識別動態磁碟。
因為大部分用戶的磁碟都是基本磁碟類型,為了使用軟體RAID功能,我們必須將其轉換為動態磁碟:控制面板→管理工具→電腦管理→磁碟管理,在查看選單中將其中的一個窗口切換為磁碟列表。這時我們就可以通過右鍵選單將選擇磁碟轉換為動態磁碟。
在劃分動態卷時會可以看到這樣幾個類型的動態卷。
1.簡單卷:包含單一磁碟上的磁碟空間,和分區功能一樣。
(當系統中有兩個或兩個以上的動態磁碟並且兩個磁碟上都有未分配的空間時,我們能夠選擇如下的兩種分卷方式)
2.跨區卷:跨區卷將來自多個磁碟的未分配空間合併到一個邏輯卷中。
3.帶區卷:組合多個(2到32個)磁碟上的未分配空間到一個卷。
(如果如上所述系統中的兩個動態磁碟容量一致時,我們會看到另一個分區方式)
4.鏡像卷:單一卷兩份相同的拷貝,每一份在一個硬碟上。即我們常說的RAID 1。
當我們擁有三個或三個以上的動態磁碟時,我們就可以使用更加複雜的RAID方式——RAID 5,此時在分卷界面中會出現新的分卷形式。
5.RAID 5卷:相當於帶奇偶校驗的帶區卷,即RAID 5方式。
對於大部分的個人電腦用戶來說,建構RAID 0是最經濟實用的陣列形式,因此我們在這裡僅就軟體RAID 0的建構進行講解:
要在Windows 2000/2003/XP中使用軟體RAID 0,首先必須將準備納入陣列的磁碟轉換為上文所述的動態磁碟(這裡要注意的是,Windows 2000/2003/XP的默認磁碟管理界面中不能轉換基本磁碟和動態磁碟,請參考上文中的描述),我們在這裡嘗試使用分區的條帶化,這也正是軟體RAID和使用RAID晶片構建磁碟陣列的區別。我們選取了一個29GB的分區進行劃分帶區卷,在劃分帶區卷區時,系統會要求一個對應的分區,也就是說這時其他的動態磁碟上必須要有同樣29GB或更大的未分配空間,帶區卷分配完成後,兩個同樣大小的分卷將被系統合併,此時我們的格式化等操作也是同時在兩個磁碟上進行。
在建構RAID 0完成後,我們決定測試其硬碟傳輸率以確定這種軟體RAID對性能的提升程度,我們構建軟體RAID的平臺和前文中的硬件RAID平臺並不相同,為了保證CPU的性能以確保我們軟體RAID的實現,我們採用了較高端的系統:Athlon XP 1700+,三星 256MB DDR記憶體,華碩A7V266-E主板,由於軟體RAID對硬碟規格的要求比較低,所以硬碟系統我們選用了不同規格的硬碟,希捷酷魚Ⅳ 60GB和西部資料1200BB 120GB兩塊硬碟。
在傳輸曲線的後半段,我們很清楚地看到軟體RAID 0的硬碟傳輸率達到了60MB/s,完全超越了陣列中任意一個硬碟的傳輸率,RAID 0的優勢開始體現出來。對於追求高性能的用戶來說,這應該是他們夢寐以求的。
這裡應該說明的是,在Linux環境下,我們同樣可以利用Raidtools工具來實現軟體RAID功能。這個工具可以製作軟RAID 0、RAID 1、RAID 4、RAID 5等多種磁碟陣列。在使用Raidtools之前,首先要確定目前正在使用的Linux核心是否支持Md。如果你正在使用的核心是2.0.X,並且不是自己編譯過,大多數情況下支持軟RAID。如果不能確定,則需要自己編譯核心。
雖然RAID功能可以給我們帶來更好的速度體驗和資料安全性,但是應該指出的是,現在市面上的大部分廉價IDE-RAID解決方案本質上仍然是「半軟」的RAID,只是將RAID控制訊息集成在RAID晶片當中,因此其CPU佔用率比較大,而且性能並不是非常穩定。這也是在高端系統中軟體RAID 0的性能有時可以超過「硬件」RAID 0方案的原因。
對於用戶來說,高性能的IDE-RAID存儲系統,或者需要比較強勁的CPU運算能力,或者需要比較昂貴的RAID卡,因此,磁碟陣列仍然應該算是比較高端的應用。不過對於初級用戶來說,使用簡單而廉價的磁碟陣列來提高計算機資料的可用性或提升一下存儲速度也是相當不錯的選擇,當然其性能還遠不能和高端系統相比。
總之,我們看到越來越多的RAID架構出現在市場上,尤其是在中低端市場上,越來越普及的廉價IDE-RAID方案與硬碟價格的不斷下降互相照應,似乎也在預示著未來個人資料存儲的發展趨勢,讓我們拭目以待吧。